Αντικειμενοστραφής Προγραμματισμός

Κωδικός μαθήματος
ΨΣ012
Μονάδες ECTS
6
Εξάμηνο
Εξάμηνο Γ
Κατηγορία μαθήματος
Περιγραφή μαθήματος
ΜΑΘΗΣΙΑΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ

Σκοπός τους μαθήματος είναι να εισάγει τους φοιτητές και τις φοιτήτριες στον αντικειμενοστραφή προγραμματισμό. Με την επιτυχή παρακολούθηση του μαθήματος οι φοιτητές και οι φοιτήτριες θα:

  • χρησιμοποιούν αντικειμενοστραφής γλώσσες προγραμματισμού (π.χ. Java, Python, C++)
  • κατανοήσουν το αντικειμενοστραφές μοντέλο ανάπτυξης λογισμικού
  • εξηγούν τις βασικές έννοιες των αντικειμενοστραφών συστημάτων λογισμικού όπως τις έννοιες του αντικειμένου (object), της τάξης (class), της διασύνδεσης (interface), της κληρονομικότητας (inheritance), του πολυμορφισμού (polymorphism)
  • σχεδιάζουν προγράμματα βάσει του αντικειμενοστραφούς μοντέλου ανάπτυξης λογισμικού
  • υλοποιούν προγράμματα χρησιμοποιώντας τις αρχές και τις έννοιες του αντικειμενοστραφούς προγραμματισμού
  • χρησιμοποιούν βιβλιοθήκες αντικειμενοστραφούς γλώσσας
  • σχεδιάζουν και αναπτύσσουν διεπαφές χρήστη - υπολογιστή χρησιμοποιώντας βιβλιοθήκες αντικειμενοστραφούς γλώσσας
ΓΕΝΙΚΕΣ ΙΚΑΝΟΤΗΤΕΣ
  • Αυτόνομη εργασία
  • Ομαδική εργασία
  • Προαγωγή της ελεύθερης, δημιουργικής και επαγωγικής σκέψης
ΠΕΡΙΕΧΟΜΕΝΟ ΜΑΘΗΜΑΤΟΣ

Σύντομη περιγραφή

  • Εισαγωγή στον αντικειμενοστραφή προγραμματισμό, αρχές και πλεονεκτήματα, χαρακτηριστικά της αντικειμενοστρεφούς προσέγγισης
  • Κλάσεις και Αντικείμενα.
  • Data Abstraction. Public, private και protected members.
  • Constructors και Destructors.
  • Κληρονομικότητα.
  • ∆υναμική καταχώρηση μνήμης.
  • Βιβλιοθήκες κλάσεων και software reusability.
  • Βασικές δομές δεδομένων.
  • Πολυμορφισμός.
  • Μοντελοποίηση προβλημάτων με την αντικειμενοστραφή φιλοσοφία.
  • Ανάπτυξη διεπαφών χρήστη - υπολογιστή.
ΟΡΓΑΝΩΣΗ ΔΙΔΑΣΚΑΛΙΑΣ
Δραστηριότητα Φόρτος Εργασίας Εξαμήνου
Διαλέξεις 39
Αυτοτελής μελέτη 111
Σύνολο μαθήματος 150
ΑΞΙΟΛΟΓΗΣΗ ΦΟΙΤΗΤΩΝ

Γραπτή τελική εξέταση με ελάχιστη βαρύτητα 70% και έως δύο εργασίες με μέγιστη
βαρύτητα 30%.

ΣΥΝΙΣΤΩΜΕΝΗ ΒΙΒΛΙΟΓΡΑΦΙΑ

1.    Liang D.Y, JAVA, 10η έκδοση, ΕΚ∆ΟΣΕΙΣ Α. ΤΖΙΟΛΑ και ΥΙΟΙ Α.Ε.
2.    Savitch Walter, JAVA, 7η Έκδοση, ΕΚ∆ΟΣΤΟ ΣΕΙΣ Α. ΤΖΙΟΛΑ και ΥΙΟΙ Α.Ε.
3.    Λιακέας Γιώργος, Εισαγωγή στην Java, Κλειδάριθμος, 2015
4.    Eckel Bruce, Τρόπος Σκέψης σε C++, 2η έκδοση, τόμος Α, εκδόσεις Γκιούρδα, 2009 (κωδικός στον Εύδοξο: 12399)
5.    Stroustrup Bjarne, Η Γλώσσα Προγραμματισμού C++, 3η έκδοση, εκδόσεις Ι. Φαλδάμης, 1999 (κωδικός στον Εύδοξο: 12072)
6.    K. Jamsa, Εισαγωγή στη C++, 1η έκδοση, εκδόσεις Κλειδάριθμος, 1995 (κωδικός στον Εύδοξο: 13673)
7.    J. R. Hubbard, Schaum’s Προγραμματισμός με C++, 2η έκδοση, εκδόσεις Κλειδάριθμος, 2008 (κωδικός στον Εύδοξο: 13576)
8.    Lafore Robert, Αντικειμενοστρεφής προγραμματισμός με τη C++, Τόμος Α, 6η έκδοση, εκδόσεις Κλειδάριθμος, Αθήνα, 2006
9.    Θραμπουλίδης Κλεάνθης, Αντικειμενοστρεφής Προγραμματισμός – Java, 3η έκδοση, εκδόσεις Τζιόλα, 2005
10.    Deitel H.M., Deitel P. J., Java προγραμματισμός, ελληνική έκδοση, εκδόσεις Γκιούρδας Μ., 2005
11.    Γ. Σ. Τσελίκης, C++: από τη Θεωρία στην Εφαρμογή
12.    Μαγκούτης Κωνσταντίνος, Νικολάου, Χρήστος, Εισαγωγή στον αντικειμενοστραφή προγραμματισμό με Python, Καλλιπος, 2015

ΗΛΕΚΤΡΟΝΙΚΗ ΣΕΛΙ∆Α ΜΑΘΗΜΑΤΟΣ ΣΤΟ ECLASS

https://eclass.uop.gr/modules/auth/opencourses.php?fc=294